home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / dalla rivista / amiga.free / diropus4.12b_gpl / library / filereq.h < prev    next >
C/C++ Source or Header  |  2000-01-27  |  4KB  |  113 lines

  1. /*
  2.  
  3. Directory Opus 4
  4. Original GPL release version 4.12
  5. Copyright 1993-2000 Jonathan Potter
  6.  
  7. This program is free software; you can redistribute it and/or
  8. modify it under the terms of the GNU General Public License
  9. as published by the Free Software Foundation; either version 2
  10. of the License, or (at your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  20.  
  21. All users of Directory Opus 4 (including versions distributed
  22. under the GPL) are entitled to upgrade to the latest version of
  23. Directory Opus version 5 at a reduced price. Please see
  24. http://www.gpsoft.com.au for more information.
  25.  
  26. The release of Directory Opus 4 under the GPL in NO WAY affects
  27. the existing commercial status of Directory Opus 5.
  28.  
  29. */
  30.  
  31. #define FILEBASE 1
  32. #define FILENAME 1000
  33. #define DRAWERNAME 1001
  34. #define FILENAMEUP 1002
  35. #define FILENAMEDOWN 1003
  36. #define FILENAMEPOS 1004
  37. #define OKAY 1005
  38. #define CANCEL 1006
  39. #define DRIVES 1007
  40. #define PARENT 1008
  41.  
  42. #define INTERRUPT 2000
  43.  
  44. static struct direntry {
  45.     struct direntry *last,*next;
  46.     int type,select;
  47.     char name[32];
  48.     char size[10];
  49. };
  50.  
  51. struct FileReqData {
  52.     int *filetype;
  53.     struct Window *fr_Window;
  54.     struct FileInfoBlock *finfo;
  55.     struct direntry *firstfile,*firstdir;
  56.     struct DOpusRemember *filekey;
  57.     struct DOpusFileReq *freq;
  58.     int prevsec,prevmic;
  59.     int fileentries,fileoffset,oldfileoffset;
  60.     int version2,flags,fh,fw,fb,width,ww,sfh,sfw,sfy,fy;
  61.     struct PropInfo filenameprop;
  62.     struct Image filenameimage;
  63.     struct StringInfo filenamesinfo,drawernamesinfo;
  64.     struct Gadget reqgads[9];
  65.     struct IntuiText reqtext[6];
  66.     struct NewWindow reqwin;
  67. };
  68.  
  69. #define ERROR_CANCEL 0
  70. #define ERROR_NOMEM -1
  71.  
  72. #define DFRB_DIRREQ 0
  73. #define DFRB_MULTI  1
  74. #define DFRB_SAVE   2
  75.  
  76. #define DFRF_DIRREQ (1<<DFRB_DIRREQ)
  77. #define DFRF_MULTI  (1<<DFRB_MULTI)
  78. #define DFRF_SAVE   (1<<DFRB_SAVE)
  79.  
  80. extern struct IntuitionBase *IntuitionBase;
  81. extern struct GfxBase *GfxBase;
  82. extern struct DosLibrary *DosBase;
  83. extern struct ExecBase *SysBase;
  84.  
  85. extern void
  86.     close_req(struct FileReqData *),deallocate_entries(struct FileReqData *),
  87.     doposprop(struct FileReqData *),clearfiles(struct FileReqData *),
  88.     checkdrawer(char *),conbstr(BSTR,char *),
  89.     refreshdrawergad(struct FileReqData *),
  90.     activatestrgad(struct Window *,struct Gadget *),
  91.     activatefilegad(struct FileReqData *),freemulti(struct DOpusFileReq *);
  92.  
  93. extern
  94.     do_idcmp(struct FileReqData *,ULONG,USHORT,USHORT,USHORT),
  95.     get_filenames(struct FileReqData *),
  96.     displayfiles(struct FileReqData *),
  97.     getnewdrawer(struct FileReqData *),
  98.     getnew_file(struct FileReqData *,struct direntry *),
  99.     do_idtype(struct FileReqData *,int),
  100.     repeatscroll(struct FileReqData *,int,int),
  101.     doparent(struct FileReqData *),
  102.     addfileentry(struct FileReqData *,char *,int,int),mystrcmp(char *,char *),
  103.     listdevices(struct FileReqData *),
  104.     DOSDisk(struct DeviceList *),checkshift(struct FileReqData *),
  105.     unactivatestrgad(struct Window *,struct Gadget *),
  106.     initrequester(struct FileReqData *),
  107.     getintuimsg(struct Window *,ULONG *,USHORT *,USHORT *,USHORT *),
  108.     gettingdirmsg(struct FileReqData *,ULONG,USHORT,USHORT,USHORT);
  109.  
  110. extern void doprops(struct FileReqData *),fixprop(struct FileReqData *);
  111.  
  112. extern struct direntry *getfileentry(struct FileReqData *,int);
  113.